home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 3 / 64er_Magazin_Sonderheft_03_86-03_1986_Markt__Technik_de_Side_A.d64 / zinsen vc20 (.txt) < prev   
Commodore BASIC  |  2022-10-26  |  8KB  |  300 lines

  1. 1 rem***********************
  2. 2 rem* gurtner helmut      *
  3. 3 rem* goethestr. 9        *
  4. 4 rem* 5120 herzogenrath   *
  5. 5 rem* tel: 02406/64433    *
  6. 8 rem***********************
  7. 10 poke36879,25:print"[147]"
  8. 20 a$="kapital"
  9. 30 a1$="prozent"
  10. 40 a2$="zinsen"
  11. 50 a3$="jahre"
  12. 60 a4$="monate"
  13. 70 a5$="tage"
  14. 80 a6$="zinsesz."
  15. 90 a7$="gesamt"
  16. 100 a8$="zurueck menue (f1)    [146]"
  17. 110 a9$="[145]nochmal (f7) h.-c.(f8)[146]"
  18. 120 b$=""
  19. 130 b1$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  20. 140 b2$="j.-einz."
  21. 150 b3$="m.-einz."
  22. 200 print"[147][144]      m e n u e  1":print
  23. 210 print"zinsberechnungen      "b1$
  24. 220 print"1  "a$:print
  25. 230 print"2  "a1$:print
  26. 240 print"3  "a2$:print
  27. 250 print"4  "a5$:print
  28. 260 print"5  zinseszinsen mit"
  29. 270 print"   monatl. einzahlung":print
  30. 280 print"6  zinseszinsen mit"
  31. 290 print"   einmaliger einz.":print
  32. 300 print"7  weit. menueauswahl"
  33. 310 getw$:ifw$=""then310
  34. 320 ifasc(w$)<49orasc(w$)>55then310
  35. 330 w=val(w$):onwgoto600,1000,1400,1800,2200,2600,340
  36. 340 print"[147][144]      m e n u e  2":print
  37. 341 print"zinsberechnungen      "b1$
  38. 350 print"1  errechnen zinstage":print
  39. 360 print"2  was kostet ein"
  40. 370 print"   kredit":print
  41. 390 print"3  zurueck menue":print
  42. 420 getw1$:ifw1$=""then420
  43. 430 ifasc(w1$)<49orasc(w1$)>55then420
  44. 450 w1=val(w1$):onw1goto3000,7000,200
  45. 460 goto200
  46. 600 l=10:rem **** kapital ****
  47. 610 print"[147]    z * 100 * 360"
  48. 620 print"k = [192][192][192][192][192][192][192][192][192][192][192][192][192]"
  49. 630 print"       p * t":print
  50. 640 printa2$:printa1$:printa3$:printa4$:printa5$:printb1$:printa$
  51. 720 z3=9:z2=5:gosub3520:z2=6:gosub3510:gosub3530:gosub5000
  52. 725 ifz=0orp=0ort=othengosub6200:goto600
  53. 730 k=(z*100*360)/(p*t)
  54. 740 x=k:gosub4500:z2=12:print"[144]":gosub4950:print"":gosub6100
  55. 745 printb$:printa8$:printa9$
  56. 750 getw1$:ifw1$=""then750
  57. 760 ifw1$=chr$(133)thengoto200
  58. 770 ifw1$=chr$(136)thengoto600
  59. 780 ifw1$=chr$(140)thengosub60000
  60. 790 goto750
  61. 1000 l=10:rem **** prozent ****
  62. 1010 print"[147]    z * 100 * 360"
  63. 1020 print"p = [192][192][192][192][192][192][192][192][192][192][192][192][192]"
  64. 1030 print"       k * t":print
  65. 1040 printa$:printa2$:printa3$:printa4$:printa5$:printb1$:printa1$
  66. 1060 z3=9:z2=5:gosub3500:z2=6:gosub3520:gosub3530:gosub5000
  67. 1065 ifz=0ork=0ort=0thengosub6200:goto1000
  68. 1070 p=(z*100*360)/(k*t)
  69. 1080 x=p:gosub4500:z2=12:print"[144]":gosub4950:print"":gosub6100
  70. 1085 printb$:printa8$:printa9$
  71. 1090 getw1$:ifw1$=""then1090
  72. 1100 ifw1$=chr$(133)thengoto200
  73. 1110 ifw1$=chr$(136)thengoto1000
  74. 1120 ifw1$=chr$(140)thengosub60000
  75. 1130 goto1090
  76. 1400 l=10:rem **** zinsen
  77. 1410 print"[147]    k * p * t":z3=9
  78. 1420 print"z = [192][192][192][192][192][192][192][192][192][192][192][192][192]"
  79. 1430 print"     100 * 360":print
  80. 1440 printa$:printa1$:printa3$:printa4$:printa5$:printb1$
  81. 1450 printa2$:printa$:print:printa7$
  82. 1460 z2=5:gosub3500:z2=6:gosub3510:gosub3530:gosub5000
  83. 1465 ifk=0orp=0ort=0thengosub6200:goto1400
  84. 1470 z=(k*p*t)/(100*360)
  85. 1480 x=z:gosub4500:z2=12:print"[144]":gosub4950:print""
  86. 1490 x=k:gosub4500:z2=13:gosub4950
  87. 1500 kz=k+z:x=kz:gosub4500:z2=15:gosub4950:gosub6100
  88. 1505 printb$:printa8$:printa9$
  89. 1510 getw1$:ifw1$=""then1510
  90. 1520 ifw1$=chr$(133)thengoto200
  91. 1530 ifw1$=chr$(136)thengoto1400
  92. 1540 ifw1$=chr$(140)thengosub60000
  93. 1550 goto1510
  94. 1800 l=10:rem **** tage ****
  95. 1810 print"[147]    z * 100 * 360"
  96. 1820 print"t = [192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  97. 1830 print"       k * p":print:z3=9:gosub6100
  98. 1840 printa$:printa1$:printa2$:printb1$
  99. 1850 printa5$:printb1$:print""a3$:print""a4$:print""a5$
  100. 1870 z2=5:gosub3500:z2=6:gosub3510:z2=7:gosub3520
  101. 1875 ifk=0orp=0orz=0thengosub6200:goto1800
  102. 1880 t=(z*100*360)/(k*p)
  103. 1890 x=t:gosub4500:z2=10:print"[144]":gosub4950:print"":t=int(t+.5)
  104. 2000 ift<360then2020
  105. 2010 t=t-360:j=j+1:ift>=360then2010
  106. 2020 ift<30then2040
  107. 2030 t=t-30:m=m+1:ift>=30then2030
  108. 2040 printleft$(b$,14);:printtab(14)j:print:printtab(14)m:print:printtab(14)t
  109. 2050 print"":printb$:printa8$:printa9$
  110. 2060 getw1$:ifw1$=""then2060
  111. 2070 ifw1$=chr$(133)thengoto200
  112. 2080 ifw1$=chr$(136)thengoto1800
  113. 2090 ifw1$=chr$(140)thengosub60000
  114. 2100 goto2060
  115. 2200 printchr$(147)"[144]zinseszinsen mit":l=10:z3=9
  116. 2210 print"gleichbleibender"
  117. 2220 print"monatl. einzahlung":print""b3$:printa1$:printa3$
  118. 2225 print"dav. keine":print"einz. m.":print"bonus auf"
  119. 2226 print"einz. %":printb1$:print"eigenl."
  120. 2230 printa6$:print"bonus":print:printa7$
  121. 2240 z2=5:z3=11:gosub3500:z2=6:gosub3510:z2=7:gosub3525
  122. 2242 z2=9:gosub4000:ke=n:gosub4800:gosub4950:ifke>12then2242
  123. 2244 z2=11:gosub4000:bp=n:gosub4500:gosub4950
  124. 2250 kg=0:kk=0:kz=0:mz=12:y=12:kb=0:bd=0:zg=0
  125. 2260 m=j*12:m1=m-ke:m2=m1:ifm1<12thenmz=m1
  126. 2265 ifm=kethenprint"[147]falsche angaben":fori=1to2000:next:goto2200
  127. 2270 gosub2500
  128. 2280 m2=m2-12
  129. 2290 ifm2=>12thengoto2510
  130. 2295 kb=kb+kx
  131. 2300 ifke=12thenzz=kb*p/100:kb=kb+zz
  132. 2306 ifm2<12andm2>0thenmz=m2:gosub2500:zz=kb*p/100:kb=kb+kx+zz
  133. 2310 kk=k*m1:bd=kk*bp/100:zg=kb-kk:kg=kb+bd
  134. 2320 x=kk:gosub4500:z2=14:z3=11:gosub4950
  135. 2330 x=zg:gosub4500:z2=15:gosub4950
  136. 2340 x=bd:gosub4500:z2=16:gosub4950
  137. 2350 x=kg:gosub4500:z2=18:gosub4950:gosub6100
  138. 2355 printb$:printa8$:printa9$
  139. 2360 getw1$:ifw1$=""then2360
  140. 2370 ifw1$=chr$(133)thengoto200
  141. 2380 ifw1$=chr$(136)thengoto2200
  142. 2390 ifw1$=chr$(140)thengosub60000
  143. 2400 goto2360
  144. 2500 ka=0:za=0:kx=0:y=12
  145. 2501 fori=1tomz
  146. 2502 zz=(k*p*y)/(100*12)
  147. 2503 zz=int(zz*10000+.5)/10000
  148. 2504 za=za+zz:ka=ka+k:y=y-1
  149. 2505 nexti
  150. 2506 kx=ka+za:return
  151. 2510 kb=kb+kx
  152. 2512 zb=kb*p/100
  153. 2514 zb=int(zb*10000+.5)/10000
  154. 2516 kb=kb+zb
  155. 2518 goto2280
  156. 2600 printchr$(147)"[144]zinseszinsen bei ein-":l=10:z3=9:kz=0:zg=0
  157. 2610 print"maliger einzahlung":print:print
  158. 2620 printa$:printa1$:printa3$:printb1$:printa$:printa6$:print:printa7$
  159. 2640 z2=5:gosub3500:z2=6:gosub3510:z2=7:gosub3525
  160. 2650 zz=0:kz=k
  161. 2660 fori=1toj
  162. 2670 zz=kz*p/100
  163. 2680 zz=int(zz*10000+.5)/10000
  164. 2690 kz=kz+zz
  165. 2700 nexti
  166. 2710 zg=kz-k
  167. 2720 x=k:gosub4500:z2=10:gosub4950
  168. 2730 x=zg:gosub4500:z2=11:print"[144]":gosub4950:print""
  169. 2740 x=kz:gosub4500:z2=13:gosub4950
  170. 2745 printb$:printa8$:printa9$
  171. 2750 getw1$:ifw1$=""then2750
  172. 2760 ifw1$=chr$(133)thengoto200
  173. 2770 ifw1$=chr$(136)thengoto2600
  174. 2780 ifw1$=chr$(140)thengosub60000
  175. 2790 goto2750
  176. 3000 print"[147]errechnen zinstage":print:l=8:z2=5:z3=8:j=0:m=0:t=0
  177. 3010 print"        [144]ttmmjjjj":print
  178. 3020 print"anfang:":print
  179. 3030 print"ende:":print:print
  180. 3040 print"i s t":print
  181. 3050 printb1$
  182. 3060 print"oder jahr/e":print
  183. 3070 print"     monat/e":print
  184. 3080 print"     tag/e"
  185. 3100 gosub4000:aa$=nn$:gosub6000:z2=7:gosub4000:e$=nn$:gosub6000
  186. 3110 ja=val(mid$(aa$,5,4)):ma=val(mid$(aa$,3,2)):ta=val(mid$(aa$,1,2)):gosub6000
  187. 3130 je=val(mid$(e$,5,4)):me=val(mid$(e$,3,2)):te=val(mid$(e$,1,2)):gosub6000
  188. 3140 j=je-ja
  189. 3150 t=(j*360)+(me*30)+te-(ma*30)-ta:j=0
  190. 3160 printleft$(b$,10);:printtab(7)t;:printa5$
  191. 3170 ift<360then3190
  192. 3180 t=t-360:j=j+1:ift>=360then3180
  193. 3190 ift<30then3210
  194. 3200 t=t-30:m=m+1:ift>=30then3200
  195. 3210 x=j:z2=14:z3=11:print"[144]":gosub4800:gosub4950:x=m:z2=16:gosub4800:gosub4950
  196. 3220 x=t:z2=18:gosub4800:gosub4950:print"":gosub6100
  197. 3225 printb$:printa8$:printa9$
  198. 3230 getw1$:ifw1$=""then3230
  199. 3240 ifw1$=chr$(133)then340
  200. 3250 ifw1$=chr$(136)then3000
  201. 3260 ifw1$=chr$(140)thengosub60000
  202. 3270 goto3230
  203. 3500 gosub4000:k=n:gosub4500:gosub4950:return
  204. 3510 gosub4000:p=n:gosub4500:gosub4950:return
  205. 3520 gosub4000:z=n:gosub4500:gosub4950:return
  206. 3525 gosub4000:j=n:gosub4800:gosub4950:return
  207. 3530 z2=7:gosub4000:j=n:gosub4800:gosub4950
  208. 3540 z2=8:gosub4000:m=n:gosub4800:gosub4950
  209. 3550 z2=9:gosub4000:t=n:gosub4800:gosub4950:return
  210. 4000 rem  get-schleife
  211. 4030 printleft$(b$,z2);:printtab(z3)
  212. 4040 z1=0:nn$="":print"_";chr$(157);
  213. 4050 getn$:ifn$=""then4050
  214. 4055 ifn$=chr$(140)thengosub60000
  215. 4060 ifn$=chr$(20)andz1>0then4130
  216. 4070 ifn$=chr$(13)then4140
  217. 4080 ifn$<chr$(46)orn$>chr$(57)then4050
  218. 4090 printn$;"_";chr$(157);
  219. 4100 nn$=nn$+n$
  220. 4110 z1=z1+1:ifz1=lthen4140
  221. 4120 goto4050
  222. 4130 z1=z1-1:nn$=left$(nn$,z1):printchr$(157);"_ ";chr$(157);chr$(157);:goto4050
  223. 4140 print" ";:n=val(nn$):x=n:return
  224. 4500 rem***************
  225. 4510 rem formatierung
  226. 4520 rem**************
  227. 4600 x=int(x*100+.5)/100
  228. 4610 x$=" "+str$(x)
  229. 4615 ifmid$(x$,len(x$)-2,1)="."then4640
  230. 4620 ifmid$(x$,len(x$)-1,1)<>"."thenx$=x$+".00"
  231. 4630 ifmid$(x$,len(x$)-1,1)="."thenx$=x$+"0"
  232. 4640 ifmid$(x$,len(x$)-3,1)=" "thenx$="  0"+right$(x$,3)
  233. 4650 ifmid$(x$,len(x$)-3,1)="-"thenx$=" -0"+right$(x$,3)
  234. 4660 x$=right$("       "+x$,10)
  235. 4670 return
  236. 4800 x$=str$(x)
  237. 4810 x$="       "+x$+"   "
  238. 4820 x$=right$(x$,10)
  239. 4830 return
  240. 4950 printleft$(b$,z2);:printtab(z3)x$:gosub6000:return
  241. 5000 rem errechnen tage
  242. 5010 t=t+(j*360)+(m*30)
  243. 5020 return
  244. 6000 nn$="":x=0:n$=""
  245. 6010 return
  246. 6100 k=0:z=0:p=0:j=0:m=0:t=0:return
  247. 6200 print"[147]fehlende oder falsche":print:print"eingaben":fori=1to2500:next:return
  248. 7000 print"[147][144]    kredit - kosten    ":l=10:z1=0:z2=0:kk=0:ev=0:mz=0
  249. 7010 rem print"kredit":print
  250. 7020 print"kred.-sum.":print
  251. 7030 print"bearbeitg.-"
  252. 7040 print"gebuehr in %":print
  253. 7050 print"laufz./monat":print
  254. 7055 print"% in mon.":print
  255. 7060 print"[144]kreditkosten":print
  256. 7070 print"tatsaechl. ":print"zinsen in %":print
  257. 7080 print"monatl. zu":print"zahlen"
  258. 7100 z2=3:z3=12:gosub4000:ks=n:gosub4500:gosub4950
  259. 7110 z2=6:z3=16:gosub4000:bz=n:gosub4500:z3=12:gosub4950
  260. 7120 z2=8:z3=16:gosub4000:lz=n:gosub4800:z3=12:gosub4950
  261. 7130 z2=10:z3=16:gosub4000:pm=n:gosub4500:z3=12:gosub4950
  262. 7135 ifks=0orlz=0orpm=othengosub6200:goto7000
  263. 7220 z1=pm*lz:rem % * laufz.
  264. 7230 z1=(ks*z1)/100:rem zinsen-laufzeit
  265. 7240 z2=(ks*bz)/100:rem zinsen-bearb.
  266. 7250 kk=z1+z2:rem kreditkosten
  267. 7260 ev=(kk*100*12)/(ks*lz):rem eff.-zins.
  268. 7270 mz=(ks+kk)/lz:rem m. zu zahlen
  269. 7280 x=kk:z2=12:z3=12:print"[144]":gosub4500:print"[144]":gosub4950
  270. 7290 x=ev:z2=15:gosub4500:gosub4950
  271. 7300 x=mz:z2=18:gosub4500:gosub4950:print""
  272. 7305 printb$:printa8$:printa9$
  273. 7330 getw1$:ifw1$=""then7330
  274. 7340 ifw1$=chr$(133)then340
  275. 7350 ifw1$=chr$(136)then7000
  276. 7360 ifw1$=chr$(140)thengosub60000
  277. 7370 goto7330
  278. 60000 rem * hard-copy *
  279. 60010 si$=chr$(14):bs$=chr$(8):po$=chr$(16)
  280. 60020 qt$=chr$(34)
  281. 60030 mf$=chr$(145):vr=peek(648)*256
  282. 60040 open4,4:print#4
  283. 60050 forcl=0toz2:qf=0:as$=mf$:forro=0to21
  284. 60060 sc=peek(vr+22*cl+ro)
  285. 60070 ifsc=34thenqf=1-qf
  286. 60080 ifsc<>162then60110
  287. 60090 qf=1-qf:ifqf=1thenas$=as$+qt$:goto60170
  288. 60100 as$=as$+qt$:goto60170:goto60130
  289. 60110 ifqf=1and(sc>=128)thensc=sc-128:goto60130
  290. 60120 ifsc>=120thensc=sc-128:rf=1
  291. 60130 ifsc<32orsc>95thenas=sc+64:goto60160
  292. 60140 ifsc>31andsc<64thenas=sc:goto60160
  293. 60150 ifsc>63andsc<96thenas=sc+32:goto60160
  294. 60160 as$=as$+chr$(as)
  295. 60170 ifrf=1thenrf=0
  296. 60180 nextro
  297. 60190 ifqf=0thenprint#4,si$po$"20"as$:goto60210
  298. 60200 print#4,si$;po$;"20";as$;qt$
  299. 60210 nextcl:close4:return
  300.